import React from 'react'
function match(path,realPath){
  let ps=path.split('/')
  let rps=realPath.split('/')

//   判断长度
  if(ps.length!==rps.length){
      return null
  }
  let isMatch=true
  let params={}

//   判断每一项
//    首先判断每一项是否是":"开头,是就加入paramas,不是就判断是否相等

  for(let i=0;i<rps.length;i++){
      let rp=rps[i]
      let p=ps[i]
      if(p.startsWith(":")){
        params[p.substr(1)]=rp
      }
      else{
          if(p!==rp){
              isMatch=false
          }
      }
  }
  if(isMatch){
      return params
  }
  return null
}

class MyRoute extends React.Component{
    constructor(props){
       super(props)
    }
    render(){
        let Component=this.props.component
        let comp=null
        // 基本的判断
        // if(window.location.pathname===this.props.path){
        //      comp=<Component/>
        // }
        let params=match(this.props.path,window.location.pathname)
        let matchobj={params}
        if(params){
            comp=<Component match={matchobj}/>
        }
        return(
            <div>
                {comp}
            </div>
        )
    }
}
export default MyRoute